package puf3

import chisel3._
import chisel3.util._
import chisel3.experimental._

import puf3.PUF_Constants._

class PUF_Top_Output_Ports extends Bundle {
    val Data_in     =   Output(UInt(1.W))
    val Ena_in      =   Output(Bool())
    val Clk_in      =   Output(Bool())

    val Ena_out     =   Output(Bool())
    val Clk_out     =   Output(Bool())
    
    val Clk         =   Output(Bool())
    
}



class PUF_Core_Output_Ports extends Bundle {
    val Data_in     =   Output(UInt(1.W))
    val Ena_in      =   Output(Bool())
    val Clk_in      =   Output(Bool())

    val Ena_out     =   Output(Bool())
    val Clk_out     =   Output(Bool())
}


class PUF_Core_Input_Ports extends Bundle {
    val Start       =   Input(Bool())
    val Data        =   Input(UInt(WIDTH_DATA.W))
}


class PUF_Core_Input_clk extends Bundle {
    val Clk       =   Input(Clock())

}
